package com.frx.leetcode.one;

import java.util.HashMap;
import java.util.Map;

public class TwoSum {

    /**
     * 方法一 暴力求解
     */
    public int[] solution1(int[] nums,int target){
        for(int i=0;i<nums.length;i++){
            for(int j=i+1;j<nums.length;j++){
                if(nums[i] + nums[j] == target){
                    return new int[]{i,j};
                }
            }
        }
        return null;
    }
    /**
     * 用hashMap求解
     * */
    public int[] solution2(int[] nums,int target){

        Map<Integer,Integer> map = new HashMap<>();

        for (int i=0;i<nums.length;i++){
            map.put(nums[i],i);
        }

        for (int i=0;i<nums.length;i++){
            int sub = target - nums[i];
            if (map.containsKey(nums[sub]) && map.get(sub)!= i){
                return new int[]{i,nums[i]};
            }
        }
        return null;
    }
}
